package com.lanou3g.code0408.permission;

/**
 * Created by dllo on 18/4/8.
 */
public class Person {
    /*
    权限修饰符,就是用来 控制 一个类中的 属性/方法  是否能被 其他 类 使用
    权限修饰符一共有 4个:public   perivate
                     perotect  default(不写)
                     在 JAVA中 能否 访问 其他类的属性 方法, 分成了一下几个 情况/
                     1.自己能否访问
                     2.同一个包下的其他类能否访问
                     3.子类能否访问(子类学继承的时候会说
                     4. 任何类都能访问
                     public        protected(用的少)         default       private
       任何类           ✔️               ×                      ×              ×
       子类             ✔️               ✔                     ×              ×
       同包             ✔️               ✔                     ✔              ×
       自己             ✔️               ✔                     ✔              ✔️

     */
    String name;
    public int age;
    private String gender;//性别
    //改变性别
    public  void  changeGender(){
        /*1.private 权限的属性
        只能够在当前类中被访问
        即 只能在当前类中写代码 来对该属性 进行 值的 修改
        或者 读取它的值
         */
        /*
        由于Java中想要访问一个 对象的属性/方法
        需要使用的语法 是 对象.属性/对象.方法
        而在Person这个类中,我们要想改变 gender属性的值
        又没有办法 拿到这个类的 对象
        所以, java创造了一个关键字:this
        this永远指:本类对象,就是这个类 new出来的对象
        但是具体指哪个对象,并不确定,哪个对象调用了 该方法
        this就指 这个对象
              即:this指调用 该方法的对象
         总结:1.this指本类对象
             2.this指调用该方法的对象

         */

        this.gender = "男";//this不确定的 对象.
    }

}
